var app=new Vue({
    el: '#app',
    data:{
        menuTree: null,
        menuName: '',
        menuList: null,
        searchMenu:{
        }
    },
    watch: {
        menuName: function(val) {
            this.$refs.menuTree.filter(val);
        }
    },
    methods:{
        init: function(){
            var _this=this;
            setTimeout(function(){
                _this.getMenuTree();
            },100);
        },
        handleNodeClick: function(data,node,event) {//查询下级权限
            this.searchMenu={
                parentId: data.id
            }
            this.findAll();
        },
        addMenu: function(){
            var node=this.$refs.menuTree.getCurrentNode();
            top.layer.open(jsmile.dialog.init({
                title: "新增菜单",
                content: "sys/menu/add.html",
                success: function(layero,index){
                    var iframeW=layero.find('iframe')[0];
                    var _menu={
                        parentId: node?node.id:0,
                        level: node?node.level+1:1
                    };
                    iframeW.contentWindow.app.menu=_menu;
                }
            }));
        },
        editMenu: function(index,row){
            var _this=this;
            var node=row?row:this.$refs.menuTree.getCurrentNode();
            if(!node){
                top.app.$alert('请选择需要修改的菜单!', '提示',{type: 'warning'});
                return false;
            }
            top.layer.open(jsmile.dialog.init({
                title: "修改资源信息",
                content: "sys/menu/edit.html",
                success: function(layero,index){
                    var iframeW=layero.find('iframe')[0];
                    iframeW.contentWindow.app.menu=node;
                }
            }));
        },
        deleteMenu: function(index,row){
            var _this=this;
            var node=row?row:this.$refs.menuTree.getCurrentNode();
            if(!node){
                top.app.$alert('请选择需要修改的资源!', '提示',{type: 'warning'});
                return false;
            }
            top.app.$confirm('此操作将永久删除该资源及子资源, 是否继续?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(function(){
                jsmile.http.sendJson({
                    url:jsmile.url+"/sys/menu/delete",
                    data:{"id":node.id}
                }).done(function(res){
                    jsmile.msg.success("删除资源成功");
                    _this.findAll();
                    _this.getMenuTree();
                }).fail(function(res){
                    jsmile.msg.error(res.resMsg?res.resMsg:"删除资源失败!");
                });
            }).catch(function() {
                jsmile.msg.info( '已取消删除');
            });
        },
        /**
         * 过滤菜单
         */
        filterName:function(value, data) {
            if (!value) return true;
            return data.label.indexOf(value) !== -1;
        },
        getMenuTree: function(){
            var _this=this;
            jsmile.http.sendJson({
                url:jsmile.url+"/sys/menu/getList",
                data:{leLevel:2}
            }).done(function(res){
                var data=jsmile.tree.toTree(res.resData,{});
                _this.menuTree=data;
            });
        },
        /*
         * 获取所有数据
         */
        findAll: function(){
            var _this=this;
            jsmile.http.sendJson({
                url:jsmile.url+"/sys/menu/findAll",
                data:_this.searchMenu
            }).done(function(res){
                _this.menuList=res.resData.list;
            }).fail(function(res){
                jsmile.msg.error(res.resMsg?res.resMsg:"获取权限列表失败!");
            });
        },
        goHome: function(url){
            top.$('#home').attr("src","homePage/home.html");
        }
    }
});
$(function(){
    init();
    function init(){
        app.init();
    }
});